<?php

    /**
     * @param $argv 要检测的字符串
     * @return bool
     */
    function is_username($argv){
        $reg_exp = '/^[a-zA-Z][a-zA-Z0-9]{3,19}$/'; //由大小写字母跟数字组成并且长度在4-16字符直接
        return preg_match($reg_exp,$argv)?$argv:false;
    }

    /**
     * @param $argv 要检测的字符串
     * @return bool
     */
    function is_password($argv){
        $reg_exp = '/^[a-zA-Z0-9]{6,20}$/'; //由大小写字母跟数字组成并且长度在6-20字符直接
        return preg_match($reg_exp,$argv)?$argv:false;
    }



    /**
     * 检测输入的验证码是否正确
     * @param $code     用户输入的验证码
     * @param bool $reset 是否重置验证码
     * @param string $id  验证码id 当你页面需要多个验证码的时候
     * @return bool
     */
    function check_verify($code,$reset = false, $id = ''){
        $verify = new \Think\Verify();
        $verify->reset = $reset;
        $res = $verify->check($code, $id);
        if(IS_AJAX){
            header('Content-Type:application/json; charset=utf-8');
            $data = json_encode($res);
            exit($data);
        }else{
            return $res;
        }
    }

    /**
     * @param $count 总条数
     * @param string $header   总条数提示
     * @param int $showItemNum   每页显示条数
     * @param int $rollPage     显示页码数量
     * @return string
     */
    function c_page($count,$header = '个管理员',$itemNum=6,$rollPage = 5)
    {
        $Page = new \Think\Page($count,$itemNum);// 实例化分页类 传入总记录数和每页显示的记录数(1)
        $Page->setConfig('first','首页');
        $Page->setConfig('prev','<');
        $Page->setConfig('next','>');
        $Page->setConfig('header','共 %TOTAL_ROW% '.$header);
        $Page->setConfig('last','尾页');
        $Page->lastSuffix = false;
        $Page->rollPage = $rollPage ;
        $Page->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
        $show = $Page->show();// 分页显示输出
        return $show;
    }


    /**
     * @param $data
     * @param int $pid
     * @param int $level
     * @return mixed
     */
    function get_category($data,$pid = 0,$level = 1)
    {
        if(!isset($data['old'])){
            $da['old'] = $data;//用来循环的数据
            $da['new'] = array();//记录循环好的新数据
            $data = $da;
            unset($da);
        }
        foreach ($data['old'] as $k => $v) {
            if($v['pid'] == $pid){
                $v['level'] = $level;
                // var_dump($v);exit;
                $data['new'][$v['id']] = $v;
                unset($data['old'][$k]);//把当前选中分类清除 因为我自己不可能是自己的分类
                $son = get_category($data,$v['id'],$level+1);
                if($son){
                    $data['new'] = $son;
                }
            }
        }
        return $data['new'];
    }



?>